home *** CD-ROM | disk | FTP | other *** search
/ Steal This CD / steal_this_cd.iso / Chapter 07 - Where the Hackers Are / virc200.exe / {app} / Scripts / toolbars.vsc < prev    next >
Text File  |  2003-05-16  |  6KB  |  209 lines

  1. // ViRC 2.0 default toolbar library
  2.  
  3. Name ViRC 2.0 Standard Toolbars
  4.  
  5. // *** IMPORTANT ***
  6. // If you edit this file with a text editor, make sure ALL your toolbar and
  7. // item definitions are either BEFORE or AFTER all other code. Otherwise the
  8. // script editor may lose them.
  9. //
  10. // Toolbar <name> "<title>" FOR <windowtypes> <position> ORDER <order> [HIDDEN]
  11. //   <name> [HOTKEY <hotkey>] [MENU/COMBO <menutree>] [GROUP <num>['?']['!']] <state> ["<glyph.bmp>"] [<caption>] [ | <hint>]
  12. //   ...
  13. // EndToolbar
  14. //
  15. // <windowtypes> = <windowtype>[,<windowtype>,<windowtype>...]
  16. // <windowtype> = {virc,servers,channels,queries,chats,whiteboards}
  17. // <position> = DOCKED {top,bottom,left,right} | FLOATING <x>,<y>,<w>,<h>
  18. // <order> = {first,last,before <name>,after <name>}
  19. // <state> = {0=enabled btn,1=enabled when opped,2=disabled when opped,3=disabled btn,4=edit box}
  20. //
  21. // 'menu <tree>' makes the button into a dropdown menu.
  22. // 'combo <tree>' splits it, where the left side is a button and the right side is a menu.
  23. // 
  24. // 'group 1?' allows all the buttons in the group to be up at once.
  25. // 'group 1!' means this button is down by default. 'group 1?!' means both.
  26. // a single-button group can be toggled if the ? is given, otherwise only the script can change it.
  27. //
  28. // a state of 1/2 makes the item enabled/disabled...
  29. //   virc - if any server windows are open
  30. //   servers - if you are connected
  31. //   channels - if you are opped
  32. //   queries - always
  33. //   chats/whiteboards - if the connection is open
  34.  
  35. // ToolbarItem <itemname> ON <barname>
  36. //   <code>
  37. // EndToolbarItem
  38. //
  39. // $C is the active window, $1- is any nicks selected if the window is a channel.
  40. // unlike menu items, main toolbar items will be run on the active window's
  41. // interpreter if there is an active window.
  42.  
  43. // ShowToolbar <windowname>:<barname>
  44. // HideToolbar <windowname>:<barname>
  45. // DockToolbar <windowname>:<barname> = <dockpos>
  46. // FloatToolbar <windowname>:<barname> = <x>,<y>,<w>,<h>
  47.  
  48. // SetToolbar <windowname>:<barname> <itemname>.<property> = <value>
  49. // $GetToolbar(<windowname>:<barname> <itemname>.<property>)
  50. //
  51. // <property> = {Enabled,Caption,Down}
  52.  
  53. // $MapToolbar(<windowname>:<toolbarname>[:<itemname>])
  54.  
  55. // TStrings.LoadFromToolbar <barname>
  56. //   $TStrings.LoadFromToolbar(<barname>) returns options
  57. // TStrings.SaveToToolbar <barname> <options>
  58. // TStrings.LoadFromToolbarItem <itemname> ON <barname>
  59. // TStrings.SaveToToolbarItem <itemname> ON <barname>
  60.  
  61. With > localized_toolbar TB_MAIN "Main toolbar" for virc docked top order first
  62.   T_START    hotkey Ctrl+S  0 "tbstart.bmp" @@Msg_TB_Main_StartDesc
  63.   T_SEP1     0 -
  64.   T_CONFIG   0 "tbconfig.bmp" @@Msg_TB_Main_ConfigDesc
  65.   T_SERVLIST 0 "tbservlist.bmp" @@Msg_TB_Main_ServListDesc
  66.   T_SCRIPTED 0 "tbscript.bmp" @@Msg_TB_Main_ScriptEdDesc
  67.   T_REHASH   0 "tbrehash.bmp" @@Msg_TB_Main_RehashDesc
  68.   T_SEP2     0 -
  69.   T_TILE     0 "tbtile.bmp" @@Msg_TB_Main_TileDesc
  70.   T_CASCADE  0 "tbcascade.bmp" @@Msg_TB_Main_CascadeDesc
  71.   T_INFLATE  0 "tbinflate.bmp" @@Msg_TB_Main_InflateDesc
  72.   T_SEP3     0 -
  73.   T_EXIT     0 "tbexit.bmp" @@Msg_TB_Main_ExitDesc
  74. EndWith
  75.  
  76. ToolbarItem T_START on TB_MAIN
  77.   NewServerWindow
  78. EndToolbarItem
  79.  
  80. ToolbarItem T_CONFIG on TB_MAIN
  81.   ShowClientSetup
  82. EndToolbarItem
  83.  
  84. ToolbarItem T_SERVLIST on TB_MAIN
  85.   ShowServerList
  86. EndToolbarItem
  87.  
  88. ToolbarItem T_SCRIPTED on TB_MAIN
  89.   ShowScriptEditor
  90. EndToolbarItem
  91.  
  92. ToolbarItem T_REHASH on TB_MAIN
  93.   *Rehash
  94. EndToolbarItem
  95.  
  96. ToolbarItem T_TILE on TB_MAIN
  97.   0.Tile
  98. EndToolbarItem
  99.  
  100. ToolbarItem T_CASCADE on TB_MAIN
  101.   0.Cascade
  102. EndToolbarItem
  103.  
  104. ToolbarItem T_INFLATE on TB_MAIN
  105.   Inflate
  106. EndToolbarItem
  107.  
  108. ToolbarItem T_EXIT on TB_MAIN
  109.   Exit
  110. EndToolbarItem
  111.  
  112. With > localized_toolbar TB_SERVER "Server toolbar" for servers docked top order first
  113.   T_CONNECT    2 "tbconnect.bmp" @@Msg_TB_Serv_ConnectDesc
  114.   T_DISCONNECT 1 "tbdisconnect.bmp" @@Msg_TB_Serv_DisconnectDesc
  115.   T_SEP1       0 -
  116.   T_LINKS      1 "tblinks.bmp" @@Msg_TB_Serv_LinksDesc
  117.   T_LIST       1 "tblist.bmp" @@Msg_TB_Serv_ListDesc
  118. EndWith
  119.  
  120. ToolbarItem T_CONNECT on TB_SERVER
  121.   Connect
  122. EndToolbarItem
  123.  
  124. ToolbarItem T_DISCONNECT on TB_SERVER
  125.   Disconnect
  126. EndToolbarItem
  127.  
  128. ToolbarItem T_LINKS on TB_SERVER
  129.   Links
  130. EndToolbarItem
  131.  
  132. ToolbarItem T_LIST on TB_SERVER
  133.   @l $mask = $?="$Msg_TB_ListPattern"
  134.   if ([$mask] != [INPUT_CANCELLED])
  135.     List $mask
  136.   endif
  137. EndToolbarItem
  138.  
  139. With > localized_toolbar TB_CHANNEL "Channel toolbar" for channels docked top order first
  140.   T_PART    0 "tbpart.bmp" @@Msg_TB_Chan_PartDesc
  141.   T_CYCLE   0 "tbcycle.bmp" @@Msg_TB_Chan_CycleDesc
  142.   T_SEP1    0 -
  143.   T_CHANCTL 0 "tbchanctl.bmp" @@Msg_TB_Chan_ChanCtlDesc
  144. EndWith
  145.  
  146. ToolbarItem T_PART on TB_CHANNEL
  147.   Part $C
  148. EndToolbarItem
  149.  
  150. ToolbarItem T_CYCLE on TB_CHANNEL
  151.   Cycle $C
  152. EndToolbarItem
  153.  
  154. ToolbarItem T_CHANCTL on TB_CHANNEL
  155.   ChannelControl $C
  156. EndToolbarItem
  157.  
  158. With > localized_toolbar TB_TS_LOGGING "Timestamps and logging" for servers,channels,queries,chats docked top order last
  159.   T_STAMPS  hotkey F5  group 1? 0 "tbtimestamp.bmp" @@Msg_TB_Log_StampsDesc
  160.   T_LOGGING hotkey F6  group 2? 0 "tblogging.bmp" @@Msg_TB_Log_LoggingDesc
  161. EndWith
  162.  
  163. ToolbarItem T_STAMPS on TB_TS_LOGGING
  164.   // no command for timestamps, we have to map the output control
  165.   // and set the property with OVS
  166.   @l $enabled = $GetToolbar($C:TB_TS_LOGGING T_STAMPS.Down)
  167.   @l $output = $mapobject($C:Output)
  168.   @p $output.TimeStamps = $enabled
  169.   UnmapObject $output
  170. EndToolbarItem
  171.  
  172. ToolbarItem T_LOGGING on TB_TS_LOGGING
  173.   @l $enabled = $GetToolbar($C:TB_TS_LOGGING T_LOGGING.Down)
  174.   if ($enabled)
  175.     Log open $C
  176.   else
  177.     Log close $C
  178.   endif
  179. EndToolbarItem
  180.  
  181. // events
  182.  
  183. Event <OnCreateWindow_toolbars> "*"
  184.   // map output control
  185.   @l $obj = $mapobject($1:Output)
  186.   Halt if $obj == -1
  187.   
  188.   // set state of timestamp button
  189.   SetToolbar $1:TB_TS_LOGGING T_STAMPS.Down = $([$prop($obj.TimeStamps)] == [True])
  190.   
  191.   // set state of logging button
  192.   SetToolbar $1:TB_TS_LOGGING T_LOGGING.Down = $([$prop($obj.Logging)] == [True])
  193.   
  194.   // unmap control
  195.   UnmapObject $obj
  196. EndEvent
  197.  
  198. // aliases
  199.  
  200. Alias LOG
  201.   *Log $1-
  202.   // update toolbar status
  203.   @l $btn = $MapToolbar($2:TB_TS_LOGGING:T_LOGGING)
  204.   Halt if !$isobject($btn)
  205.   @p $btn.Down = $islogging($2)
  206.   UnmapObject $btn
  207. EndAlias
  208.  
  209.